package com.weishi.project.sport.movement.service;


import com.alibaba.fastjson.JSONObject;
import com.weishi.framework.web.domain.AjaxResult;
import com.weishi.project.training.domain.Dynamometer;
import com.weishi.project.training.domain.DynamometerSubsection;
import com.weishi.project.training.domain.HeartRate;

import java.util.List;

/**
 * 运动员 运动模块 接口
 */
public interface MovementService {


    /**
     * 运动员端--根据当前时间--查询我的运动计划列表--根据结束时间排序
     */
    AjaxResult getSportsPlan(String day , Integer userId);


    /**
     * 运动员端--查询运动计划详情
     */
    AjaxResult getSportsPlanDetails(Integer userId , String id);


    /**
     * 运动员端--查询运动--乳酸
     */
    AjaxResult getLacticAcid(Integer userId , String firstLevel , Integer trainingModeInteger , Integer groupId , Integer trainingDayId);


    /**
     * 运动员端--查询运动--专项成绩信息
     */
    AjaxResult getWaterInformation(Integer userId , Integer id , Integer trainingMode , String firstLevel , Integer groupId);


    /**
     * 运动员端--查询运动--专项成绩信息--成绩对标
     */
    AjaxResult getWaterAlignment(Integer userId , Integer id , Integer trainingMode , String firstLevel , Integer groupId);


    /**
     * 运动员端--查询运动--专项成绩信息--船速及浆频
     */
    AjaxResult getWaterShipPulp(Integer userId , Integer id , Integer trainingMode , String firstLevel , Integer groupId);


    /**
     * 运动员端--运动模块--新增心率
     */
    AjaxResult addHeartRate(Integer userId , HeartRate heartRate);


    /**
     * 运动员端--运动模块--查询测功仪数据
     */
    AjaxResult getDynamometerList(Integer userId , Integer groupId , Integer trainingDayId);


    /**
     * 运动员端--教练点击开始按钮
     */
    AjaxResult start(JSONObject jsonObject);


    /**
     * 运动员端--教练点击结束按钮
     */
    AjaxResult end(JSONObject jsonObject);


    /**
     * 运动员端--新增测功仪数据
     */
    AjaxResult addDynamometer(JSONObject trainingReportBean , Integer userId);


    /**
     * 运动员端--根据训练日 id  用户 userId 查询数据
     */
    AjaxResult getTrainingDayById(Integer id , Integer userId);


    /**
     * 运动员端--根据主键删除测功仪数据
     */
    AjaxResult deleteDynamometerById(Integer id);


    /**
     * 运动员端--根据主键 修改 测功仪数据
     */
    AjaxResult updateDynamometerById(Dynamometer dynamometer);


    /**
     * 运动员端--测功仪--查询心率
     */
    AjaxResult getDynamometerHeartRate(Integer userId , Integer trainingDayId , Integer trainingMode , Integer groupId);


    /**
     * 运动员端--心率表--查询心率
     */
    AjaxResult getHeartRateList(Integer userId , Integer trainingDayId , Integer groupId);


    /**
     *  运动员端--计算平均心率，最大心率
     */
    AjaxResult getAverageAndMax(Integer userId , Integer trainingDayId , Integer trainingMode , Integer groupId , String firstLevel);


    /**
     * 运动员 -- 今日陆上专项成绩排名
     */
    AjaxResult getThisDayRanking(Integer groupId , String boatType , Integer trainingDayId , Integer sex , Integer trainingMode , Integer kilometers , Double realClassHour , String firstLevel);


    /**
     * 运动员 -- 测功仪存储分段成绩
     */
    AjaxResult addDynamometerSubsection(Integer userId , DynamometerSubsection dynamometerSubsection);


    /**
     * 运动员 -- 测功仪点击开始训练查询，是否已经训练 true:代表可以训练，false:代表不能训练
     */
    AjaxResult getDynamometerRankingOne(Integer userId , JSONObject jsonObject);






}
